package com.jiadakeji.ppm.modules.business.entity.DTO;

import com.jiadakeji.ppm.common.utils.DecimalUtils;

import java.io.Serializable;
import java.util.Date;

public class ReportRoomDTO implements Serializable {

    private String feeMonthId;
    private String buildingId;
    private String buildingName;
    private String communityId;
    private Integer totalRoom;
    private Integer usedRoom;
    private Double usedRate;

    private Double manageFee;
    private Double avgElecFee;
    private Double avgWaterFee;
    private Double secondPushElecFee;
    private Double carMonthFee;
    private Double elevatorFee;
    private Double totalFee;
    private Double receivedFee;
    private Double receivedRate;

    private Double yearManageFee;
    private Double yearAvgElecFee;
    private Double yearAvgWaterFee;
    private Double yearSecondPushElecFee;
    private Double yearCarMonthFee;
    private Double yearElevatorFee;
    private Double yearTotalFee;
    private Double yearReceivedFee;
    private Double yearReceivedRate;

    private Double historyTotalFee;
    private Double historyReceivedFee;
    private Double historyReceivedRate;


    private Date beginDate;
    private Date endDate;

    public String getFeeMonthId() {
        return feeMonthId;
    }

    public void setFeeMonthId(String feeMonthId) {
        this.feeMonthId = feeMonthId;
    }

    public String getBuildingId() {
        return buildingId;
    }

    public void setBuildingId(String buildingId) {
        this.buildingId = buildingId;
    }

    public String getBuildingName() {
        return buildingName;
    }

    public void setBuildingName(String buildingName) {
        this.buildingName = buildingName;
    }

    public String getCommunityId() {
        return communityId;
    }

    public void setCommunityId(String communityId) {
        this.communityId = communityId;
    }

    public Integer getTotalRoom() {
        return totalRoom;
    }

    public void setTotalRoom(Integer totalRoom) {
        this.totalRoom = totalRoom;
    }

    public Integer getUsedRoom() {
        return usedRoom;
    }

    public void setUsedRoom(Integer usedRoom) {
        this.usedRoom = usedRoom;
    }

    public Double getUsedRate() {
        return totalRoom == 0 ? 0 : DecimalUtils.divide(usedRoom.doubleValue(),totalRoom.doubleValue());
    }

    public void setUsedRate(Double usedRate) {
        this.usedRate = usedRate;
    }

    public Double getTotalFee() {
        return totalFee;
    }

    public void setTotalFee(Double totalFee) {
        this.totalFee = totalFee;
    }

    public Double getReceivedFee() {
        return receivedFee;
    }

    public void setReceivedFee(Double receivedFee) {
        this.receivedFee = receivedFee;
    }

    public Double getReceivedRate() {
        return totalFee == 0 ? 0 : DecimalUtils.divide(receivedFee,totalFee);
    }

    public void setReceivedRate(Double receivedRate) {
        this.receivedRate = receivedRate;
    }

    public Date getBeginDate() {
        return beginDate;
    }

    public void setBeginDate(Date beginDate) {
        this.beginDate = beginDate;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public Double getYearTotalFee() {
        return yearTotalFee;
    }

    public void setYearTotalFee(Double yearTotalFee) {
        this.yearTotalFee = yearTotalFee;
    }

    public Double getYearReceivedFee() {
        return yearReceivedFee;
    }

    public void setYearReceivedFee(Double yearReceivedFee) {
        this.yearReceivedFee = yearReceivedFee;
    }

    public Double getYearReceivedRate() {
        return yearTotalFee == 0 ? 0 : DecimalUtils.divide(yearReceivedFee,yearTotalFee);
    }

    public void setYearReceivedRate(Double yearReceivedRate) {
        this.yearReceivedRate = yearReceivedRate;
    }


    public Double getHistoryTotalFee() {
        return historyTotalFee;
    }

    public void setHistoryTotalFee(Double historyTotalFee) {
        this.historyTotalFee = historyTotalFee;
    }

    public Double getHistoryReceivedFee() {
        return historyReceivedFee;
    }

    public void setHistoryReceivedFee(Double historyReceivedFee) {
        this.historyReceivedFee = historyReceivedFee;
    }

    public Double getHistoryReceivedRate() {
        return historyTotalFee == 0 ? 0 : DecimalUtils.divide(historyReceivedFee,historyTotalFee);
    }

    public void setHistoryReceivedRate(Double historyReceivedRate) {
        this.historyReceivedRate = historyReceivedRate;
    }

    public Double getManageFee() {
        return manageFee;
    }

    public void setManageFee(Double manageFee) {
        this.manageFee = manageFee;
    }

    public Double getAvgElecFee() {
        return avgElecFee;
    }

    public void setAvgElecFee(Double avgElecFee) {
        this.avgElecFee = avgElecFee;
    }

    public Double getAvgWaterFee() {
        return avgWaterFee;
    }

    public void setAvgWaterFee(Double avgWaterFee) {
        this.avgWaterFee = avgWaterFee;
    }

    public Double getSecondPushElecFee() {
        return secondPushElecFee;
    }

    public void setSecondPushElecFee(Double secondPushElecFee) {
        this.secondPushElecFee = secondPushElecFee;
    }

    public Double getCarMonthFee() {
        return carMonthFee;
    }

    public void setCarMonthFee(Double carMonthFee) {
        this.carMonthFee = carMonthFee;
    }

    public Double getElevatorFee() {
        return elevatorFee;
    }

    public void setElevatorFee(Double elevatorFee) {
        this.elevatorFee = elevatorFee;
    }

    public Double getYearManageFee() {
        return yearManageFee;
    }

    public void setYearManageFee(Double yearManageFee) {
        this.yearManageFee = yearManageFee;
    }

    public Double getYearAvgElecFee() {
        return yearAvgElecFee;
    }

    public void setYearAvgElecFee(Double yearAvgElecFee) {
        this.yearAvgElecFee = yearAvgElecFee;
    }

    public Double getYearAvgWaterFee() {
        return yearAvgWaterFee;
    }

    public void setYearAvgWaterFee(Double yearAvgWaterFee) {
        this.yearAvgWaterFee = yearAvgWaterFee;
    }

    public Double getYearSecondPushElecFee() {
        return yearSecondPushElecFee;
    }

    public void setYearSecondPushElecFee(Double yearSecondPushElecFee) {
        this.yearSecondPushElecFee = yearSecondPushElecFee;
    }

    public Double getYearCarMonthFee() {
        return yearCarMonthFee;
    }

    public void setYearCarMonthFee(Double yearCarMonthFee) {
        this.yearCarMonthFee = yearCarMonthFee;
    }

    public Double getYearElevatorFee() {
        return yearElevatorFee;
    }

    public void setYearElevatorFee(Double yearElevatorFee) {
        this.yearElevatorFee = yearElevatorFee;
    }
}
